// pages/login/login.js
var base=getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    isHide: false,
    avatarUrl:"",
  },
  
  /*handleGetUserInfo(e){
    console.log(e);
  },*/


  
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this;
    // 查看是否授权
    
    wx.getSetting({
        success: function(res) {
            if (res.authSetting['scope.userInfo']) {
                wx.getUserInfo({
                    success: function(res) {
                        // 用户已经授权过,不需要显示授权页面,所以不需要改变 isHide 的值
                        // 根据自己的需求有其他操作再补充
                        const check=wx.getStorageSync("userInfo");
                        if(!check){
                            that.setData({
                                isHide: true
                            });
                        }
                    }
                });
            } else {
                // 用户没有授权
                // 改变 isHide 的值，显示授权页面
                that.setData({
                    isHide: true
                });
            }
        }
    });
  },

  bindGetUserInfo: function(e) {
    if (e.detail.userInfo) {
        //用户按了允许授权按钮
        var that = this;
        // 获取到用户的信息了，打印到控制台上看下
       // console.log("用户的信息如下：");
       // console.log(e);
        const {userInfo} = e.detail;
                   
        //授权成功后,通过改变 isHide 的值，让实现页面显示出来，把授权页面隐藏起来
        that.setData({
            isHide: false
        });
        wx.getSetting({
            success: function(res) {
                if (res.authSetting['scope.userInfo']) {
                    wx.getUserInfo({
                        success: function(res) {
                            
                            // 我这里实现的是在用户授权成功后，调用微信的 wx.login 接口，从而获取code
                            wx.login({
                                success: res => {
                                    // 获取到用户的 code 之后：res.code
                                    //console.log("用户的code:" + res.code);
                                    // 可以传给后台，再经过解析获取用户的 openid
                                    // 或者可以直接使用微信的提供的接口直接获取 openid ，方法如下：
                                     wx.request({
                                         // 自行补上自己的 APPID 和 SECRET
                                         url: 'https://api.weixin.qq.com/sns/jscode2session?appid=wx8b9d469aef41fdae&secret=89e2379bc88b407a24f9d67a107a60f0&js_code=' + res.code + '&grant_type=authorization_code',
                                         success: res => {
                                             // 获取到用户的 openid
                                            // console.log("用户的openid:" + res.data.openid);                                             

                                              //用openid查询用户
                                             wx.request({
                                                url: 'http://localhost:8080/wx/user/getInfo1/'+res.data.openid,
                                                success:(result)=>{
                                                    if(result.data.data) {
                                                  //  console.log(result) 
                                                    base.globalData.phone =  result.data.data.phone
                                                  //  console.log(result.data.data.phone)
                                                  //  console.log(base.globalData.phone)
                                                    base.globalData.address =  result.data.data.address
                                                  //  console.log(result.data.data.address)
                                                  //  console.log(base.globalData.address)
                                                    base.globalData.username =  result.data.data.username
                                                  //  console.log(result.data.data.username)
                                                  //  console.log(base.globalData.username)    
                                                    base.globalData.avatarUrl =  userInfo.avatarUrl  
                                                    }                                                                                      
                                                }
                                              })
                                      
                                             //用户信息和openid写入缓存
                                             base.globalData.user = res.data
                                             base.globalData.userInfo = userInfo
                                             base.globalData.openid = res.data.openid
                                             wx.setStorageSync('user', res.data)
                                             wx.setStorageSync('userInfo', userInfo)
                                             wx.setStorageSync('openid', res.data.openid)
                                             wx.navigateBack({
                                                 delta:1
                                             });
                                             }
                                     });
                                }
                            });
                        }
                    });            
                } else {
                    // 用户没有授权
                    // 改变 isHide 的值，显示授权页面
                    that.setData({
                        isHide: true
                    });
                }
            }
        });     
    } else {
        //用户按了拒绝按钮
        wx.showModal({
            title: '警告',
            content: '您点击了拒绝授权，将无法进入小程序，请授权之后再进入!!!',
            showCancel: false,
            confirmText: '返回授权',
            success: function(res) {
                // 用户没有授权成功，不需要改变 isHide 的值
                if (res.confirm) {
                    console.log('用户点击了“返回授权”');
                }
            }
        });
    }
},

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})